# 1. 创建一个集合（注意花括号的使用）
# 即使输入了重复元素，集合也会自动去重
my_set = {1, 2, 2, 3, "apple", "apple", (4, 5)}
print("创建的集合:", my_set) # 输出: 创建的集合: {1, 2, 3, 'apple', (4, 5)}（顺序不确定）

# 注意：创建空集合不能用 {}，因为 {} 表示空字典。必须用 set()
empty_set = set()
print(type(empty_set)) # 输出: <class 'set'>

# 2. 添加元素
my_set.add(6)
print("添加元素 6 后:", my_set)

# 3. 删除元素
my_set.remove("apple") # 如果元素不存在，remove() 会报错
print("删除元素 'apple' 后:", my_set)

my_set.discard(10)    # 如果元素不存在，discard() 不会报错，更安全
print("尝试删除不存在的元素 10 后:", my_set)

# 4. 集合运算
set_a = {1, 2, 3, 4, 5}
set_b = {4, 5, 6, 7, 8}

# 并集 (| 或 union())
print("并集:", set_a | set_b) # 输出: 并集: {1, 2, 3, 4, 5, 6, 7, 8}

# 交集 (& 或 intersection())
print("交集:", set_a & set_b) # 输出: 交集: {4, 5}

# 差集 (- 或 difference())：在 A 中但不在 B 中的元素
print("A - B 的差集:", set_a - set_b) # 输出: A - B 的差集: {1, 2, 3}

# 对称差集 (^ 或 symmetric_difference())：在 A 或 B 中，但不在交集中的元素
print("对称差集:", set_a ^ set_b) # 输出: 对称差集: {1, 2, 3, 6, 7, 8}